import { IIterator } from '@/sources/types'
/**
 * 链表接口定义
 */
export interface ILinkedList<E> {
    size(): number // 元素的数量
    isEmpty(): boolean // 数组是否为空
    contains(element: E): boolean // 是否包含元素element
    add(element: E): void // 添加元素
    get(index: number): E | undefined // 获取index处的元素
    set(index: number, element: E): E // 修改对应index索引的元素
    remove(element: E): E // 删除index索引的元素
    indexOf(element: E): number // 从头开始检索元素的索引
    clear(): void // 清除所有的元素 
    forEach(cb: IIterator<E>): void
}
